package com.example;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

/**
 * 创建一个集合，每次向集合中添加一个 1MB 的 byte 数组
 * 启动时指定JVM选项：
 *      -XX:+HeapDumpOnOutOfMemoryError、-XX:HeapDumpPath=*** 用于内存溢出时生成 Heapdump 文件
 *      -Xmx10M 指定JVM堆内存大小，快速模拟OOM
 *
 */
public class OOMDemo02 {

    private static final int LENGTH = 1024;
    public static void main(String[] args) throws InterruptedException {
        while (true) {
            new Thread(() -> {
                try {
                    Thread.sleep(Long.MAX_VALUE);
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }).start();
        }
    }

}
